﻿using BLevy.Negocio;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BLevy.UI
{
    public partial class frmReporteCobradorFiltro : Form
    {
        public frmReporteCobradorFiltro()
        {
            InitializeComponent();
        }

        private void IniciarControles()
        {
            cboCobrador.Enabled = false;
            dtpDesde.Enabled = false;
            dtpHasta.Enabled = false;
        }


        private void frmReporteCobradorFiltro_Load(object sender, EventArgs e)
        {
            IniciarControles();
            FindCobrador();
        }

        private void FindCobrador()
        {
            try
            {
                cboCobrador.ValueMember = "id";
                cboCobrador.DisplayMember = "nombre_completo";
                cboCobrador.DataSource = Cobradores.FindAll();
            } 
            catch (Exception e)
            {
                MessageBox.Show("Error : " + e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void ckbCobrador_CheckedChanged(object sender, EventArgs e)
        {
            if (ckbCobrador.CheckState == CheckState.Checked)
                cboCobrador.Enabled = true;
            else
                cboCobrador.Enabled = false;
        }

        private void ckbFecha_CheckedChanged(object sender, EventArgs e)
        {
            if(ckbFecha.CheckState == CheckState.Checked)
            {
                dtpHasta.Enabled = true;
                dtpDesde.Enabled = true;
            }
            else
            {
                dtpHasta.Enabled = false;
                dtpDesde.Enabled = false;
            }
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            int? cobrador_id = ckbCobrador.Checked ? (int?)cboCobrador.SelectedValue : null;
            DateTime? desde = ckbFecha.Checked ? (DateTime?)dtpDesde.Value : null;
            DateTime? hasta = ckbFecha.Checked ? (DateTime?)dtpHasta.Value : null;

            frmCobradorLiquidacionListadosReporte frm = new frmCobradorLiquidacionListadosReporte(cobrador_id, desde, hasta);
            frm.MdiParent = this.MdiParent;
            frm.Show();

            this.Hide();
        }

        private void btnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
